Active Directory를 설정하고 난 후, Endpoint에서 SSM 연결이 안 될 시 해결 방법

Active Directory를 설정하고 난 후, Endpoint에서 SSM 연결이 안 될 시 해결 방법

Active Directory를 설정하고 난 후, Endpoint에서 SSM 연결이 안 될 시 해결하는 방법에 대해서 정리해 봤습니다.
Clock Icon2022.07.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 Active Directory를 설정하고 난 후, Endpoint에서 SSM 연결이 안 될 시 해결하는 방법에 대해서 정리해 봤습니다.

에러 발생

 

다음 블로그를 통해 Directory Service를 생성하고, 인터넷 통신은 불가능 하도록 하기 위해 Private Subnet만 생성한 다음 엔드포인트를 생성했더니, EC2 인스턴스에서 SSM으로 연결이 안되는 문제가 발생했습니다.

에러 원인

Amazon DNS는 VPC 내부에서 DNS 쿼리에 응답합니다.

기본적으로 VPC를 생성하면 default DHCP Option Set을 사용하는데, 여기에 설정되어 있는「도메인 이름 서버」가 Amazon Provided DNS입니다.

이 Amazon Provided DNS를 통해서만 프라이빗 호스팅 영역에 대한 DNS 쿼리를 할 수 있습니다.

즉, 기본적으로 프라이빗 호스팅 영역에 대한 DNS 쿼리는 Amazon Provided DNS 서버에서만 해결됩니다.

하지만 지금 구축한 환경에서는 DHCP Option Set의 도메인 이름 서버를 Directory Service의 DNS 정보들로 변경했기 때문에 프라이빗 호스팅 영역에 대한 DNS 쿼리가 되지 않아, Endpoint로의 SSM 연결이 되지 않는 상태입니다.

자세한 사항은 아래 링크를 참고해 주세요.

 

 

에러 해결

Endpoint에서 SSM을 연결 하기 위해서는 Forwarders를 설정해서 Amazon Provided DNS를 향하도록 하면 됩니다.

Windows Administrative Tools -> DNS로 들어갑니다.

「The following computer」를 선택한 다음「디렉터리 DNS 이름」을 넣고 OK를 클릭합니다.

「디렉터리 DNS 이름」은 생성한 Directory Service에 나와있습니다.

DNS를 클릭하면 오른쪽에「Conditional Forwarders」가 표시됩니다. 클릭해서 들어갑니다.

마우스 오른쪽을 클릭한 다음「New Conditional Forwarder」를 클릭합니다.

DNS Domain에는 amazonaws.com를 넣고, IP Address에는 Amazon Provided DNS를 넣습니다.

Amazon Provided DNS는 현재 VPC CIDR이 10.0.0.0이면 +2를 해서 10.0.0.2가 되는 것이 Amazon Provided DNS입니다.

  • DNS Domain : amazonaws.com
  • IP Address : 10.0.0.2
PS C:\Windows\system32> nslookup ssm.ap-northeast-1.amazonaws.com
Server: xxx.xxxx.ml
Address: 10.0.1.140

Non-authoritative answer:
Name: ssm.ap-northeast-1.amazonaws.com
Addresses: 10.0.1.235
10.0.2.120

PS C:\Windows\system32> nslookup ec2messages.ap-northeast-1.amazonaws.com
Server: win-v88eror68kp.xxx.xxxx.ml
Address: 10.0.1.140

Non-authoritative answer:
Name: ec2messages.ap-northeast-1.amazonaws.com
Addresses: 10.0.1.20
10.0.2.64
  • nslookup ssm.ap-northeast-1.amazonaws.com
  • nslookup ec2messages.ap-northeast-1.amazonaws.com

다음 명령어로 확인해 보면 Public한 IP가 아닌 Private한 IP를 반환하고 있는 것을 확인할 수 있습니다.

조금 기다려보면 성공적으로 Session Manager에 연결할 수 있는 것을 확인할 수 있습니다.

본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 [email protected]로 보내주시면 감사하겠습니다.

참고

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.